package com.weijian.config.ai.prompt;

public class AiPrompt {

    public final static String DATA_PROMPT_TEMPLATE= """
            根据用户的数据分析需求，生成对应的PostgreSQL查询语句、分析说明，以及推荐的图表类型。
            
            可用数据表信息：
            %s
            
            用户需求：%s
            
            请生成：
            1. 一个可执行的PostgreSQL SELECT查询语句（仅限SELECT，禁止UPDATE/DELETE/DROP等操作）
            2. 对查询目的和预期结果的分析说明
            3. 推荐的图表类型列表（按优先级排序，最多推荐3-4种）
            
            可选的图表类型包括：
            - TABLE: 表格，适用于所有数据
            - BAR: 柱状图，适用于类别对比
            - LINE: 折线图，适用于趋势展示和时间序列
            - PIE: 饼图，适用于占比展示
            - AREA: 面积图，适用于趋势和总量展示
            - SCATTER: 散点图，适用于相关性分析
            - GAUGE: 仪表盘，适用于单一指标展示
            - RADAR: 雷达图，适用于多维度对比
            - HEATMAP: 热力图，适用于矩阵数据展示
            - FUNNEL: 漏斗图，适用于转化率分析
            
            图表类型推荐规则：
            - 时间序列数据 → LINE, AREA
            - 类别对比 → BAR, PIE (数据少时用PIE)
            - 单一数值聚合 → GAUGE
            - 两个数值相关性 → SCATTER
            - 多维度对比 → BAR, RADAR
            - 占比展示 → PIE
            - 总是包含TABLE作为备选
            
            注意：
            - SQL语句必须符合PostgreSQL语法
            - 仅生成SELECT查询，不要包含任何修改数据的操作
            - 确保表名和列名在上述表信息中存在
            - 如果用户需求无法通过现有表满足，在response中说明原因，sql可以为null
            - recommendedCharts字段应包含多个适合的图表类型，按推荐优先级排序
            
            """;
}
